1. Technical Field
The present invention generally relates to job execution and more particularly, to management of job execution when the jobs are scheduled from a source external system and executed on a target external system.
2. Description of Related Art
Application containers such as Enterprise Solution Resource Planning (ERP) systems based on SAP, JBoss, ORACLE E-Business suite or IBM Websphere Application Server are able to schedule execution of batch jobs on one other application container (SAP is a trademark or registered trademark of SAP AG in Germany and in several other countries all over the world, JBoss is a trademark of JBoss Inc., Oracle is a registered trademark of Oracle Corporation, IBM and Websphere are trademarks of International Business Machines Corporation in certain countries).
When submitting batch workload from an originating external system to be executed on a target external system, it is easy to overload the target system and reduce the job execution throughput scheduled from the originating system. The most usual cause is when jobs spawn several children jobs in the target external system, but the maximum number of processes able to run together is fixed in that target system. Moreover, in the target execution system, the management of the job execution queue decreases the overall efficiency and throughput. Some external systems can provide a simple load balancing but cannot manage a big amount of batch submissions.
There is thus a need to control in external systems execution of jobs scheduled from one other external system.
The U.S. Pat. No. 7,231,455 applies to controlling data packets by an external system. It uses a throttling mechanism to limit and control data packets. It is based on a cascaded pipeline architecture between the monitored relays. Data goes through this pipeline (of relays). The pipeline acts as a multilevel proxy between the source and destination. Both end points do not change their behaviors. Finally, it is “time period” based. It calculates the amount of data flow in each time period and decides to limit data fan out.
The U.S. Pat. No. 7,137,019 is an IBM patent describing an adaptive throttling system for reducing the impact of non-production work (less and less important) on productive work (more important) in data processing systems by selecting a performance impact limit to satisfy. It balances non-production and production work in a data processing system.
One other U.S. Pat. No. 7,243,121 describes a load balancing scheduling system to control execution of jobs and descendent jobs (children) on a multi-node distributed environment. The method described in U.S. Pat. No. 7,243,121 assumes that is known in advance a given number of children jobs created by a job in execution. In the general case the source scheduling system is not supposed to know that a job running on the target execution system (for example SAP) will or will not spawn children jobs and, in any case, the number of children jobs is not determined in advance. U.S. Pat. No. 7,243,121 splits the workload into several pieces and distribute it to different nodes that are under the control of the system. A new component provided in IBM Tivoli Workload Scheduler for Application 8.5 allows controlled release of jobs into a SAP system (the target external system) according to the current workload of the SAP system. This component is a program interfacing with the external system SAP controlling the scheduling of jobs inside SAP. It is a limiter that ensures that the number of concurrent jobs on SAP does not exceed the maximum resource capacity. This new component uses an API provided by the SAP external system to control job scheduling in the external system.